/*
 * COPYRIGHT(c) SK telecom 2009
 * This software is the proprietary information of SK telecom.
 *
 * Revision History
 * Author     Date          Description
 * --------   ----------    ------------------
 * 홍길동            2009. 4. 29.    Description
 *
 */
package com.tistory.admin.adminmgr.auth.service;

import java.util.HashMap;
import java.util.List;

import com.tistory.admin.adminmgr.auth.model.AdminMember;


/**
 * TODO 클래스 설명을 입력해 주세요.
 * <p/>
 * 상세한 설명을 입력해 주세요.
 * 
 * @author 홍길동
 * @version 0.1
 */
public interface AdminMemberService {
	public AdminMember adminMemberCreate(AdminMember adminMem);

	public int adminMemberDelete(String id);

	public int adminMemberUpdate(AdminMember adminMem);

	public AdminMember adminMemberFind(String id);


	public HashMap<String, List> adminMemberMgrAll(String id);

	/**
	 * 
	 * TODO 메소드 설명을 입력해주십시오.
	 * <P/>
	 * 상세한 메소드 설명.
	 * 
	 * @deprecated
	 * @param mgrId
	 * @return
	 */
	@Deprecated
	public List adminAuthMgrList(String mgrId);

	public int adminAuthMgrUpdate(String mgrIdArr, String menuIdArr, String loginId) throws Exception;

	public AdminMember adminLogin(AdminMember adminMem);

	public List adminAuthTopMenuList(String id);

	public HashMap<String, List> adminAuthLeftMenuListAllMap(String id);

	public boolean isAdminValidPageAuth(String mgrId, String menuId);

	/**
	 * 로그인 정보 저장
	 * 
	 * @param mbrId
	 * @param accIp
	 * @param accDttm
	 */
	public String insertLoginInfo(String mbrId, String accIp, String accDttm);

	/**
	 * 고객정보조회 로그 저장
	 * 
	 * @param map
	 * @return
	 * @author bw yun
	 * @date 2013. 10. 15.
	 */
	public void insertIDMSCusInfoLog(HashMap map);

	/**
	 * 관리자 비밀번호 동일 여부 카운트.
	 * 
	 * @param map
	 * @return
	 */
	public int getConfirmCountByPassword(HashMap<String, String> map);

	/**
	 * 관리자 비밀번호 변경
	 * 
	 * @param map
	 */
	public void updateAdminPassword(HashMap<String, String> map);

	/**
	 * 비밀번호 변경 대상 관리자 정보 취득
	 * 
	 * @return
	 */
	public List<AdminMember> getUpdateAdminInfo();

	/**
	 * 회원 리스트를 조회한다.
	 * 
	 * @param map
	 * @return
	 */
	public List<HashMap<String, String>> getMemberList(HashMap<String, String> param);

	public void updateLogoutInfo(HashMap<String, String> map);

	public HashMap<String, String> linkIDMS(String loginId, String clntIp);

}
